package com.conference.service;

import com.conference.entity.ConferenceSchedule;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.time.LocalDateTime;
import java.util.List;

public interface ConferenceScheduleService {
    ConferenceSchedule createSchedule(ConferenceSchedule schedule);
    ConferenceSchedule updateSchedule(ConferenceSchedule schedule);
    void deleteSchedule(Long id);
    ConferenceSchedule getScheduleById(Long id);
    List<ConferenceSchedule> getSchedulesByConferenceId(Long conferenceId);
    List<ConferenceSchedule> getSchedulesByVenueId(Long venueId);
    Page<ConferenceSchedule> searchSchedules(
        Long conferenceId,
        Long venueId,
        String title,
        String speaker,
        LocalDateTime startTime,
        LocalDateTime endTime,
        Pageable pageable
    );
} 